package com.init.system.util;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExcelReader {
    public static void main(String[] args) {
        // Excel文件路径
        String excelFilePath = "C:\\Users\\KK\\Desktop\\云顶.xlsx";

        try (FileInputStream fis = new FileInputStream(new File(excelFilePath));
             Workbook workbook = new XSSFWorkbook(fis)) {

            // 获取第一个工作表
            Sheet sheet = workbook.getSheetAt(0);

            // 遍历所有行
            Iterator<Row> rowIterator = sheet.iterator();
            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();

                // 获取备注列（假设备注在第二列，索引为1）
                Cell cell = row.getCell(0);  // 假设备注列是第二列
                if (cell != null && cell.getCellType() == CellType.STRING) {
                    String remark = cell.getStringCellValue();
                    String subsidyAmount = extractSubsidyAmount(remark);
                    if (subsidyAmount != null) {
                        System.out.println(subsidyAmount);
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    // 提取政府补贴金额的方法
    private static String extractSubsidyAmount(String remark) {
        // 使用正则表达式提取政府补贴金额，忽略小数点精确度
        String regex = "政府补贴(\\d+\\.?\\d*)元";  // 匹配"政府补贴"后跟数字和"元"
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(remark);
        if (matcher.find()) {
            return matcher.group(1); // 返回提取的金额数字
        }
        return null; // 如果没有找到匹配的金额，则返回null
    }
}
